package io.gitee.geminidev.bot;

/**
 * @Author gemini
 * @Date 2023/4/2 22:43
 * @description:
 */
public enum BotFactory {
    INSTANCE;

    private Bot bot;

    BotFactory(){
        bot = new Bot();
    }

    /**
     * 获取实例
     * @return
     */
    public Bot getInstance(){
        return bot;
    }

    /**
     * 创建bot对象
     * @param botAppId 申请机器人时获取到的机器人 BotAppID
     * @param botToken 申请机器人时获取到的机器人令牌
     * @return
     */
    public static Bot createBot(String botAppId, String botToken){
        Bot instance = INSTANCE.getInstance();
        instance.init(botAppId, botToken, false);
        return instance;
    }

    /**
     * 创建bot对象
     * @param botAppId 申请机器人时获取到的机器人 BotAppID
     * @param botToken 申请机器人时获取到的机器人令牌
     * @param sandbox 沙箱支持，可选，默认false
     * @return
     */
    public static Bot createBot(String botAppId, String botToken, boolean sandbox){
        Bot instance = INSTANCE.getInstance();

        instance.init(botAppId, botToken, sandbox);
        return instance;
    }

}
